{% extends "base.html" %} {% block title %}Earnings - Quick Care Connect{% endblock %} {% block content %}

Earnings

Dashboard
Available Balance
PKR {{ "%.2f"|format(doctor.balance) }}
Pending Release
PKR {{ "%.2f"|format(pending_earnings) }}
Total Earned
PKR {{ "%.2f"|format(doctor.total_earned) }}
Transaction History
{% if transactions %}
{% for t in transactions %} {% endfor %}
Date Type Description Amount (PKR)
{{ t.created_at.strftime('%d %b %Y %H:%M') if t.created_at else '-' }} {% if t.transaction_type == 'earning' %} Earning {% elif t.transaction_type == 'penalty' %} Penalty {% elif t.transaction_type == 'withdrawal' %} Withdrawal {% else %} {{ t.transaction_type }} {% endif %} {{ t.description[:50] }}{% if t.description|length > 50 %}...{% endif %} {{ "%+.2f"|format(t.amount) }} {% if t.commission_deducted and t.amount > 0 %}
(commission −{{ "%.2f"|format(t.commission_deducted) }}) {% endif %}
{% else %}

No transactions yet. Earnings appear after completed consultations (24h review window).

{% endif %}
Request Payout

Minimum withdrawal: PKR {{ "%.0f"|format(min_payout) }}. Admin will process your request.

{% if doctor.balance < min_payout %} Balance below minimum (PKR {{ "%.0f"|format(min_payout) }}) {% endif %}
Payout Requests
{% if payout_requests %}
    {% for r in payout_requests %}
  • PKR {{ "%.2f"|format(r.amount) }} {{ r.status|title }} {{ r.requested_at.strftime('%d %b') if r.requested_at else '' }}
    Method: {{ (r.payout_method or 'legacy')|replace('_', ' ')|title }}
  • {% endfor %}
{% else %}
No payout requests yet.
{% endif %}
{% endblock %}